/* 存储在全局中的爬虫孵化数据类型 */
interface SpawnData{
    num:number  // 爬虫数量
    ability:BodyPartConstant[]  // 爬虫部件
    level?: number // 孵化优先级
    adaption?:boolean   // 是否需要自适应
    must?:boolean   // 是否不可或缺 [房间战争状态下依然孵化]
    fun?:(creep:Creep) => void  // 是否无需任务控制，直接通过固定函数实现 [有利于减少cpu]
    mem?:any
}

interface RoomSpawnData{
    [creepRole:string]:SpawnData
}


/* 全局中挂载爬虫控制数据 */
declare module NodeJS {
    interface Global {
        CreepNumData:{
            [roonName:string]:RoomSpawnData
        }
    }
}

interface RoomMemory{
    StructureIdData:any
    AutoArrangeLevel:number
    spawnData?:{[role:string]:number}
    
}

interface SpawnRoleData{
    role?:string
    level?:number
}

interface planData{
    posX:number,
    posY:number,
    posType?:BuildableStructureConstant,
    enableLevel?: number
}